[INFO] cloning repository https://github.com/petitstrawberry/scarlet-kernel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/petitstrawberry/scarlet-kernel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetitstrawberry%2Fscarlet-kernel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetitstrawberry%2Fscarlet-kernel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a9382ac8487c1cca830ae3b0b55fa14591121ff7
[INFO] fixing petitstrawberry/scarlet-kernel against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetitstrawberry%2Fscarlet-kernel" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/petitstrawberry/scarlet-kernel
[INFO] finished tweaking git repo https://github.com/petitstrawberry/scarlet-kernel
[INFO] tweaked toml for git repo https://github.com/petitstrawberry/scarlet-kernel written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/petitstrawberry/scarlet-kernel on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/petitstrawberry/scarlet-kernel already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded font8x8 v0.3.1
[INFO] [stderr]   Downloaded limine v0.6.3
[INFO] [stderr]   Downloaded fdt v0.1.5
[INFO] [stderr]   Downloaded talc v4.4.3
[INFO] [stderr]   Downloaded spin v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4
[INFO] running `Command { std: "docker" "start" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling scarlet v0.16.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking fdt v0.1.5
[INFO] [stderr]     Checking limine v0.6.3
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking font8x8 v0.3.1
[INFO] [stderr]     Checking talc v4.4.3
[INFO] [stderr]     Checking spin v0.10.0
[INFO] [stdout] error[E0432]: unresolved import `crate::abi::scarlet::ScarletAbi`
[INFO] [stdout]   --> src/task/mod.rs:21:50
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::abi::{AbiModule, EventProcessOutcome, scarlet::ScarletAbi};
[INFO] [stdout]    |                                                  ^^^^^^^^^----------
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           no `ScarletAbi` in `abi::scarlet`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/abi/scarlet/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 11 | pub use aarch64::ScarletAbi;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/abi/scarlet/mod.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 13 | pub use riscv64::ScarletAbi;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/futex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 2 - use crate::arch::Trapframe;
[INFO] [stdout] 2 + use crate::abi::Trapframe;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/mm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/pipe.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/proc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/signal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 9 - use crate::arch::Trapframe;
[INFO] [stdout] 9 + use crate::abi::Trapframe;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/socket.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/linux/generic/time.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]            crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/linux/generic/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]    |
[INFO] [stdout] 16 - use crate::arch::Trapframe;
[INFO] [stdout] 16 + use crate::abi::Trapframe;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/device/char/pty/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/device/char/tty.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/device/input/event_device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::early_putc`
[INFO] [stdout]  --> src/drivers/uart/pl011.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::early_putc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^----------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `early_putc` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::mmio`
[INFO] [stdout]  --> src/drivers/usb/dwc3/dwc3_core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::arch::mmio;
[INFO] [stdout]   |     ^^^^^^^^^^^^^----
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `mmio` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this module instead
[INFO] [stdout]   |
[INFO] [stdout] 3 - use crate::arch::mmio;
[INFO] [stdout] 3 + use crate::hypervisor::mmio;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::io_mb`
[INFO] [stdout]   --> src/drivers/virtio/device/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     arch::io_mb,
[INFO] [stdout]    |     ^^^^^^-----
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `io_mb` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::early_putc`
[INFO] [stdout]   --> src/earlycon.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::arch::early_putc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^----------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `early_putc` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `arch`
[INFO] [stdout]   --> src/environment.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use arch::*;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::arch::*;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/executor/executor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/fs/vfs_v2/syscall.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `hv` in `arch`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::hv::guest_vcpu::GuestVcpu;
[INFO] [stdout]   |                  ^^ could not find `hv` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/hypervisor/syscall.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::interrupt`
[INFO] [stdout]   --> src/interrupt/mod.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::arch::{self, interrupt::enable_external_interrupts};
[INFO] [stdout]    |                         ^^^^^^^^^ could not find `interrupt` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]    --> src/ipc/counter.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |             use crate::arch::get_cpu;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/ipc/syscall.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::lsm`
[INFO] [stdout]   --> src/lsm/loader.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 | use crate::arch::lsm::MODULE_VA_START;
[INFO] [stdout]    |                  ^^^ could not find `lsm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::lsm`
[INFO] [stdout]   --> src/lsm/loader.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | use crate::arch::lsm::MODULE_ELF_MACHINE;
[INFO] [stdout]    |                  ^^^ could not find `lsm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/lsm/syscall.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]     --> src/network/local.rs:1094:17
[INFO] [stdout]      |
[INFO] [stdout] 1094 |             use crate::arch::get_cpu;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/network/syscall.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]     --> src/network/tcp.rs:2304:17
[INFO] [stdout]      |
[INFO] [stdout] 2304 |             use crate::arch::get_cpu;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]    --> src/network/udp.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |             use crate::arch::get_cpu;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/file/syscall.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/memory_mapping/syscall.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/selectable/syscall.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/object/capability/selectable/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/stream/syscall.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/handle/syscall.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::ArchCpuState`
[INFO] [stdout]   --> src/sched/scheduler.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use crate::arch::ArchCpuState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `ArchCpuState` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_trapvector`
[INFO] [stdout]   --> src/sched/scheduler.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::arch::get_trapvector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_trapvector` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_next_mode`
[INFO] [stdout]   --> src/sched/scheduler.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::arch::set_next_mode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `set_next_mode` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_trapvector`
[INFO] [stdout]   --> src/sched/scheduler.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::{arch::set_trapvector, vm::get_trampoline_trap_vector};
[INFO] [stdout]    |             ^^^^^^--------------
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   no `set_trapvector` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `trap` in `arch`
[INFO] [stdout]   --> src/sched/scheduler.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         trap::user::arch_switch_to_user,
[INFO] [stdout]    |         ^^^^ could not find `trap` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::arch::Arch`, `crate::arch::Trapframe`, `crate::arch::get_cpu`, `crate::arch::get_user_trap_handler`, `crate::arch::instruction`
[INFO] [stdout]   --> src/sched/scheduler.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Arch, Trapframe, get_cpu, get_user_trap_handler, instruction::idle,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `instruction` in `arch`
[INFO] [stdout]    |         |     |          |        |
[INFO] [stdout]    |         |     |          |        no `get_user_trap_handler` in `arch`
[INFO] [stdout]    |         |     |          no `get_cpu` in `arch`
[INFO] [stdout]    |         |     no `Trapframe` in `arch`
[INFO] [stdout]    |         no `Arch` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]   --> src/sync/cpu_local.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::arch::get_cpu;
[INFO] [stdout]    |     ^^^^^^^^^^^^^-------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/sync/waker.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/syscall/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/task/syscall.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::shutdown`
[INFO] [stdout]     --> src/task/syscall.rs:1134:9
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     use crate::arch::shutdown;
[INFO] [stdout]      |         ^^^^^^^^^^^^^--------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      no `shutdown` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `trap` in `arch`
[INFO] [stdout]   --> src/task/mod.rs:26:53
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Trapframe, context::KernelContext, get_cpu, trap::user::arch_switch_to_user, vcpu::Vcpu,
[INFO] [stdout]    |                                                     ^^^^ could not find `trap` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::arch::Trapframe`, `crate::arch::context`, `crate::arch::get_cpu`, `crate::arch::vcpu`, `crate::arch::vm`
[INFO] [stdout]   --> src/task/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Trapframe, context::KernelContext, get_cpu, trap::user::arch_switch_to_user, vcpu::Vcpu,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^^^                 ^^^^^^^ no `get_cpu` in `arch`            ^^^^ could not find `vcpu` in `arch`
[INFO] [stdout]    |         |          |
[INFO] [stdout]    |         |          could not find `context` in `arch`
[INFO] [stdout]    |         no `Trapframe` in `arch`
[INFO] [stdout] 27 |         vm::alloc_virtual_address_space,
[INFO] [stdout]    |         ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `vm` in `arch`
[INFO] [stdout]  --> src/vm/boot.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arch::vm::mmu::{PageTable as ArchPageTable, PageTableEntry as ArchPageTableEntry};
[INFO] [stdout]   |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::timer`
[INFO] [stdout]  --> src/timer.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arch::timer::ArchTimer;
[INFO] [stdout]   |                  ^^^^^ could not find `timer` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `vm` in `arch`
[INFO] [stdout]   --> src/vm/manager.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     arch::vm::{free_virtual_address_space, get_root_pagetable, is_asid_used, mmu::PageTable},
[INFO] [stdout]    |           ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/manager.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     arch::vm::{free_virtual_address_space, get_root_pagetable, is_asid_used, mmu::PageTable},
[INFO] [stdout]    |           ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Arch`
[INFO] [stdout]   --> src/vm/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::arch::Arch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^----
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Arch` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_kernel_trapvector_paddr`
[INFO] [stdout]   --> src/vm/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::arch::get_kernel_trapvector_paddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------------------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_kernel_trapvector_paddr` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_trapvector`
[INFO] [stdout]   --> src/vm/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::arch::set_trapvector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `set_trapvector` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/mod.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::arch::vm::alloc_virtual_address_space;
[INFO] [stdout]    |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/mod.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::arch::vm::get_root_pagetable;
[INFO] [stdout]    |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `arch::get_cpu`
[INFO] [stdout]    --> src/lib.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | use arch::get_cpu;
[INFO] [stdout]     |     ^^^^^^-------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `arch::instruction`
[INFO] [stdout]    --> src/lib.rs:352:15
[INFO] [stdout]     |
[INFO] [stdout] 352 |     use arch::instruction::idle;
[INFO] [stdout]     |               ^^^^^^^^^^^ could not find `instruction` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::environment::KERNEL_VM_STACK_END`, `crate::environment::USER_STACK_END`
[INFO] [stdout]   --> src/task/mod.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 |         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_END, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^ no `USER_STACK_END` in `environment`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             no `KERNEL_VM_STACK_END` in `environment`
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 31 -         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_END, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout] 31 +         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_SIZE, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::environment::USER_STACK_END`
[INFO] [stdout]   --> src/vm/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::environment::USER_STACK_END;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         no `USER_STACK_END` in `environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::abi::scarlet::ScarletAbi`
[INFO] [stdout]   --> src/task/mod.rs:21:50
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::abi::{AbiModule, EventProcessOutcome, scarlet::ScarletAbi};
[INFO] [stdout]    |                                                  ^^^^^^^^^----------
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           no `ScarletAbi` in `abi::scarlet`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/abi/scarlet/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 11 | pub use aarch64::ScarletAbi;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/abi/scarlet/mod.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 13 | pub use riscv64::ScarletAbi;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/futex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 2 - use crate::arch::Trapframe;
[INFO] [stdout] 2 + use crate::abi::Trapframe;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/mm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/pipe.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/proc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/signal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 9 - use crate::arch::Trapframe;
[INFO] [stdout] 9 + use crate::abi::Trapframe;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/abi/linux/generic/socket.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/linux/generic/time.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]            crate::abi::Trapframe
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/abi/linux/generic/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]    |
[INFO] [stdout] 16 - use crate::arch::Trapframe;
[INFO] [stdout] 16 + use crate::abi::Trapframe;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/device/char/pty/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::abi::linux::generic::time::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/device/char/tty.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::char::pty::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/device/input/event_device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::device::char::tty::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::early_putc`
[INFO] [stdout]  --> src/drivers/uart/pl011.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::early_putc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^----------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `early_putc` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::mmio`
[INFO] [stdout]  --> src/drivers/usb/dwc3/dwc3_core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::arch::mmio;
[INFO] [stdout]   |     ^^^^^^^^^^^^^----
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `mmio` in `arch`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this module instead
[INFO] [stdout]   |
[INFO] [stdout] 3 - use crate::arch::mmio;
[INFO] [stdout] 3 + use crate::hypervisor::mmio;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::io_mb`
[INFO] [stdout]   --> src/drivers/virtio/device/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     arch::io_mb,
[INFO] [stdout]    |     ^^^^^^-----
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `io_mb` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::early_putc`
[INFO] [stdout]   --> src/earlycon.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::arch::early_putc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^----------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `early_putc` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `arch`
[INFO] [stdout]   --> src/environment.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use arch::*;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::arch::*;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/executor/executor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/fs/vfs_v2/syscall.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     arch::Trapframe,
[INFO] [stdout]    |     ^^^^^^---------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `hv` in `arch`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::hv::guest_vcpu::GuestVcpu;
[INFO] [stdout]   |                  ^^ could not find `hv` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/hypervisor/syscall.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::interrupt`
[INFO] [stdout]   --> src/interrupt/mod.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::arch::{self, interrupt::enable_external_interrupts};
[INFO] [stdout]    |                         ^^^^^^^^^ could not find `interrupt` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]    --> src/ipc/counter.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |             use crate::arch::get_cpu;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/ipc/syscall.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::lsm`
[INFO] [stdout]   --> src/lsm/loader.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 | use crate::arch::lsm::MODULE_VA_START;
[INFO] [stdout]    |                  ^^^ could not find `lsm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::lsm`
[INFO] [stdout]   --> src/lsm/loader.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | use crate::arch::lsm::MODULE_ELF_MACHINE;
[INFO] [stdout]    |                  ^^^ could not find `lsm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/lsm/syscall.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]     --> src/network/local.rs:1094:17
[INFO] [stdout]      |
[INFO] [stdout] 1094 |             use crate::arch::get_cpu;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/network/syscall.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]     --> src/network/tcp.rs:2304:17
[INFO] [stdout]      |
[INFO] [stdout] 2304 |             use crate::arch::get_cpu;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]    --> src/network/udp.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |             use crate::arch::get_cpu;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              no `get_cpu` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/file/syscall.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/memory_mapping/syscall.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/selectable/syscall.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/object/capability/selectable/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/capability/stream/syscall.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/object/handle/syscall.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     arch::Trapframe,
[INFO] [stdout]   |     ^^^^^^---------
[INFO] [stdout]   |           |
[INFO] [stdout]   |           no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::ArchCpuState`
[INFO] [stdout]   --> src/sched/scheduler.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use crate::arch::ArchCpuState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `ArchCpuState` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_trapvector`
[INFO] [stdout]   --> src/sched/scheduler.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::arch::get_trapvector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_trapvector` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_next_mode`
[INFO] [stdout]   --> src/sched/scheduler.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::arch::set_next_mode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `set_next_mode` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_trapvector`
[INFO] [stdout]   --> src/sched/scheduler.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::{arch::set_trapvector, vm::get_trampoline_trap_vector};
[INFO] [stdout]    |             ^^^^^^--------------
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   no `set_trapvector` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `trap` in `arch`
[INFO] [stdout]   --> src/sched/scheduler.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         trap::user::arch_switch_to_user,
[INFO] [stdout]    |         ^^^^ could not find `trap` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::arch::Arch`, `crate::arch::Trapframe`, `crate::arch::get_cpu`, `crate::arch::get_user_trap_handler`, `crate::arch::instruction`
[INFO] [stdout]   --> src/sched/scheduler.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Arch, Trapframe, get_cpu, get_user_trap_handler, instruction::idle,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `instruction` in `arch`
[INFO] [stdout]    |         |     |          |        |
[INFO] [stdout]    |         |     |          |        no `get_user_trap_handler` in `arch`
[INFO] [stdout]    |         |     |          no `get_cpu` in `arch`
[INFO] [stdout]    |         |     no `Trapframe` in `arch`
[INFO] [stdout]    |         no `Arch` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::device::input::event_device::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_cpu`
[INFO] [stdout]   --> src/sync/cpu_local.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::arch::get_cpu;
[INFO] [stdout]    |     ^^^^^^^^^^^^^-------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_cpu` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sched::scheduler::tests::get_cpu` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/sync/waker.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::sched::scheduler::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/syscall/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sync::waker::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]   --> src/task/syscall.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::arch::Trapframe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Trapframe` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sync::waker::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::shutdown`
[INFO] [stdout]     --> src/task/syscall.rs:1134:9
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     use crate::arch::shutdown;
[INFO] [stdout]      |         ^^^^^^^^^^^^^--------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      no `shutdown` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `trap` in `arch`
[INFO] [stdout]   --> src/task/mod.rs:26:53
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Trapframe, context::KernelContext, get_cpu, trap::user::arch_switch_to_user, vcpu::Vcpu,
[INFO] [stdout]    |                                                     ^^^^ could not find `trap` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::arch::Trapframe`, `crate::arch::context`, `crate::arch::get_cpu`, `crate::arch::vcpu`, `crate::arch::vm`
[INFO] [stdout]   --> src/task/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Trapframe, context::KernelContext, get_cpu, trap::user::arch_switch_to_user, vcpu::Vcpu,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^^^                 ^^^^^^^ no `get_cpu` in `arch`            ^^^^ could not find `vcpu` in `arch`
[INFO] [stdout]    |         |          |
[INFO] [stdout]    |         |          could not find `context` in `arch`
[INFO] [stdout]    |         no `Trapframe` in `arch`
[INFO] [stdout] 27 |         vm::alloc_virtual_address_space,
[INFO] [stdout]    |         ^^ could not find `vm` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sync::waker::tests::Trapframe` exists but is inaccessible
[INFO] [stdout]    = note: unresolved item `crate::sched::scheduler::tests::get_cpu` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Trapframe`
[INFO] [stdout]  --> src/timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::arch::Trapframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^---------
[INFO] [stdout]   |                  |
[INFO] [stdout]   |                  no `Trapframe` in `arch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unresolved item `crate::sync::waker::tests::Trapframe` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `vm` in `arch`
[INFO] [stdout]  --> src/vm/boot.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arch::vm::mmu::{PageTable as ArchPageTable, PageTableEntry as ArchPageTableEntry};
[INFO] [stdout]   |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::timer`
[INFO] [stdout]  --> src/timer.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arch::timer::ArchTimer;
[INFO] [stdout]   |                  ^^^^^ could not find `timer` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `vm` in `arch`
[INFO] [stdout]   --> src/vm/manager.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     arch::vm::{free_virtual_address_space, get_root_pagetable, is_asid_used, mmu::PageTable},
[INFO] [stdout]    |           ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/manager.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     arch::vm::{free_virtual_address_space, get_root_pagetable, is_asid_used, mmu::PageTable},
[INFO] [stdout]    |           ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]     --> src/vm/manager.rs:1214:22
[INFO] [stdout]      |
[INFO] [stdout] 1214 |     use crate::arch::vm::alloc_virtual_address_space;
[INFO] [stdout]      |                      ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::Arch`
[INFO] [stdout]   --> src/vm/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::arch::Arch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^----
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Arch` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sched::scheduler::tests::Arch` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::get_kernel_trapvector_paddr`
[INFO] [stdout]   --> src/vm/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::arch::get_kernel_trapvector_paddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^---------------------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `get_kernel_trapvector_paddr` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::set_trapvector`
[INFO] [stdout]   --> src/vm/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::arch::set_trapvector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `set_trapvector` in `arch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unresolved item `crate::sched::scheduler::tests::set_trapvector` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/mod.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::arch::vm::alloc_virtual_address_space;
[INFO] [stdout]    |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::arch::vm`
[INFO] [stdout]   --> src/vm/mod.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::arch::vm::get_root_pagetable;
[INFO] [stdout]    |                  ^^ could not find `vm` in `arch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `arch::get_cpu`
[INFO] [stdout]    --> src/lib.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | use arch::get_cpu;
[INFO] [stdout]     |     ^^^^^^-------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           no `get_cpu` in `arch`
[INFO] [stdout]     |
[INFO] [stdout]     = note: unresolved item `crate::sched::scheduler::tests::get_cpu` exists but is inaccessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::environment::KERNEL_VM_STACK_END`, `crate::environment::USER_STACK_END`
[INFO] [stdout]   --> src/task/mod.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 |         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_END, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^ no `USER_STACK_END` in `environment`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             no `KERNEL_VM_STACK_END` in `environment`
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 31 -         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_END, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout] 31 +         DEFAULT_TIME_SLICE, KERNEL_VM_STACK_SIZE, PAGE_SIZE, USER_STACK_END,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::environment::USER_STACK_END`
[INFO] [stdout]   --> src/vm/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::environment::USER_STACK_END;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         no `USER_STACK_END` in `environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MemmapResponse` and `MpResponse`
[INFO] [stdout]  --> src/boot/limine.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     MemmapRequest, MemmapResponse, ModulesRequest, ModulesResponse, MpRequest, MpResponse,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/drivers/network/virtio_net.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | use alloc::{boxed::Box, string::String, vec, vec::Vec};
[INFO] [stdout]    |             ^^^^^^^^^^                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::initcall::early`
[INFO] [stdout]  --> src/drivers/uart/pl011.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::initcall::early;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `driver_initcall`
[INFO] [stdout]   --> src/drivers/uart/pl011.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     driver_initcall,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use alloc::vec;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/drivers/virtio_rng.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use alloc::{boxed::Box, collections::VecDeque, vec};
[INFO] [stdout]    |             ^^^^^^^^^^                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]  --> src/fs/vfs_v2/drivers/ext2/node.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{boxed::Box, collections::BTreeMap, format, string::String, sync::Weak, vec, vec::Vec};
[INFO] [stdout]   |             ^^^^^^^^^^                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/fs/vfs_v2/drivers/fat32/node.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     boxed::Box,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     vec,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::println`
[INFO] [stdout]   --> src/hypervisor/syscall.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::println;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Arc`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Weak`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use alloc::sync::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spin::Mutex`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use spin::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vmem::VirtualMemoryMap`
[INFO] [stdout]   --> src/ipc/shared_memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::vm::vmem::VirtualMemoryMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::early_println`
[INFO] [stdout]   --> src/library/std/print.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::early_println;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]   --> src/network/protocol_stack.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 | use alloc::{collections::BTreeMap, string::String, sync::Arc, vec, vec::Vec};
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spin::RwLock`
[INFO] [stdout]   --> src/network/protocol_stack.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use spin::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `phys_to_virt`
[INFO] [stdout]   --> src/task/elf_loader/mod.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::vm::addr::{phys_to_virt, virt_to_phys};
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/task/elf_loader/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MemmapResponse` and `MpResponse`
[INFO] [stdout]  --> src/boot/limine.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     MemmapRequest, MemmapResponse, ModulesRequest, ModulesResponse, MpRequest, MpResponse,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::ToString`
[INFO] [stdout]    --> src/device/input/event_device.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     use alloc::string::ToString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform::*`
[INFO] [stdout]     --> src/device/manager.rs:1075:40
[INFO] [stdout]      |
[INFO] [stdout] 1075 |     use crate::device::{GenericDevice, platform::*};
[INFO] [stdout]      |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]     --> src/device/manager.rs:1076:9
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     use alloc::vec;
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/drivers/network/virtio_net.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | use alloc::{boxed::Box, string::String, vec, vec::Vec};
[INFO] [stdout]    |             ^^^^^^^^^^                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::initcall::early`
[INFO] [stdout]  --> src/drivers/uart/pl011.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::initcall::early;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `driver_initcall`
[INFO] [stdout]   --> src/drivers/uart/pl011.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     driver_initcall,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/drivers/virtio/device/tests.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         (1u32 << (crate::drivers::virtio::features::VIRTIO_F_VERSION_1 - 32)),
[INFO] [stdout]     |         ^                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 172 -         (1u32 << (crate::drivers::virtio::features::VIRTIO_F_VERSION_1 - 32)),
[INFO] [stdout] 172 +         1u32 << (crate::drivers::virtio::features::VIRTIO_F_VERSION_1 - 32) ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use alloc::vec;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/drivers/virtio_input.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/drivers/virtio_rng.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use alloc::{boxed::Box, collections::VecDeque, vec};
[INFO] [stdout]    |             ^^^^^^^^^^                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]  --> src/fs/vfs_v2/drivers/ext2/node.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{boxed::Box, collections::BTreeMap, format, string::String, sync::Weak, vec, vec::Vec};
[INFO] [stdout]   |             ^^^^^^^^^^                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/fs/vfs_v2/drivers/ext2/tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileSystemError`, `FileType`, `SocketFileInfo`, and `drivers::block::virtio_blk::VirtioBlockDevice`
[INFO] [stdout]   --> src/fs/vfs_v2/drivers/ext2/tests.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     drivers::block::virtio_blk::VirtioBlockDevice,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         FileSystemError, FileSystemErrorKind, FileSystemType, FileType, SocketFileInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^                                       ^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `format`, `string::ToString`, and `vec::Vec`
[INFO] [stdout]   --> src/fs/vfs_v2/drivers/ext2/tests.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | use alloc::{format, string::ToString, sync::Arc, vec, vec::Vec};
[INFO] [stdout]    |             ^^^^^^  ^^^^^^^^^^^^^^^^                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed::Box` and `vec`
[INFO] [stdout]   --> src/fs/vfs_v2/drivers/fat32/node.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     boxed::Box,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     vec,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::println`
[INFO] [stdout]   --> src/hypervisor/syscall.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::println;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Arc`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Weak`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use alloc::sync::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spin::Mutex`
[INFO] [stdout]  --> src/hypervisor/vcpu.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use spin::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vmem::VirtualMemoryMap`
[INFO] [stdout]   --> src/ipc/shared_memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::vm::vmem::VirtualMemoryMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]    --> src/ipc/shared_memory.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     use alloc::vec::Vec;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::early_println`
[INFO] [stdout]   --> src/library/std/print.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::early_println;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]   --> src/network/protocol_stack.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 | use alloc::{collections::BTreeMap, string::String, sync::Arc, vec, vec::Vec};
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spin::RwLock`
[INFO] [stdout]   --> src/network/protocol_stack.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use spin::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_task`
[INFO] [stdout]  --> src/object/handle/tests/task_integration.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::sched::scheduler::{add_task, get_task_by_id, reset};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `phys_to_virt`
[INFO] [stdout]   --> src/task/elf_loader/mod.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::vm::addr::{phys_to_virt, virt_to_phys};
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/task/elf_loader/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arch`
[INFO] [stdout]  --> src/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::arch;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `object::capability::selectable::Selectable`
[INFO] [stdout]   --> src/abi/linux/generic/pipe.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     object::capability::selectable::Selectable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Selectable`
[INFO] [stdout]  --> src/object/capability/selectable/syscall.rs:3:60
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::object::capability::selectable::{ReadyInterest, Selectable};
[INFO] [stdout]   |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]    --> src/abi/linux/device/kvm/mod.rs:970:26
[INFO] [stdout]     |
[INFO] [stdout] 970 | fn clean_run_page_to_poc(vaddr: usize) {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]    --> src/abi/linux/device/kvm/mod.rs:976:30
[INFO] [stdout]     |
[INFO] [stdout] 976 | fn refresh_run_page_from_poc(vaddr: usize) {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aligned_length`
[INFO] [stdout]    --> src/abi/linux/generic/mm.rs:720:5
[INFO] [stdout]     |
[INFO] [stdout] 720 |     aligned_length: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aligned_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device/fdt.rs:157:14
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &mut *MANAGER.0.get()
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device/fdt.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub unsafe fn get_mut_manager() -> &'static mut FdtManager<'static> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parsed_any_irq` is never read
[INFO] [stdout]    --> src/device/manager.rs:824:21
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     parsed_any_irq = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enabled`
[INFO] [stdout]    --> src/device/network/mod.rs:417:36
[INFO] [stdout]     |
[INFO] [stdout] 417 |     fn set_promiscuous_mode(&self, enabled: bool) -> Result<(), &'static str> {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_count`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:397:13
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let read_count = requests
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write_count`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let write_count = requests
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_ptr`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:481:17
[INFO] [stdout]     |
[INFO] [stdout] 481 |             let status_ptr = status_alloc.as_ptr() as *mut u8;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:597:17
[INFO] [stdout]     |
[INFO] [stdout] 597 |             let status = self.read32_register(crate::drivers::virtio::device::Register::Status);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_ptr`
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:340:17
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let buffer_ptr = buffer_alloc.as_ptr() as *mut u8;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `inbound` is assigned to, but never used
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:624:21
[INFO] [stdout]     |
[INFO] [stdout] 624 |                 let mut inbound = 0usize;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_inbound` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:625:22
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 for (i, packet) in packets.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `inbound` is never read
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:631:29
[INFO] [stdout]     |
[INFO] [stdout] 631 | ...                   inbound += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/cpiofs.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         option: Option<&str>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inode_cache`
[INFO] [stdout]     --> src/fs/vfs_v2/drivers/ext2/mod.rs:4565:13
[INFO] [stdout]      |
[INFO] [stdout] 4565 |         let inode_cache = self.inode_cache.lock();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inode_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_cache`
[INFO] [stdout]     --> src/fs/vfs_v2/drivers/ext2/mod.rs:4566:13
[INFO] [stdout]      |
[INFO] [stdout] 4566 |         let block_cache = self.block_cache.lock();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_size`
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/fat32/mod.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let cluster_size = (self.sectors_per_cluster * self.bytes_per_sector) as usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_index`
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/fat32/mod.rs:820:13
[INFO] [stdout]     |
[INFO] [stdout] 820 |         for cluster_index in 0..clusters_needed {
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/test.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn panic(info: &PanicInfo) -> ! {
[INFO] [stdout]    |    -----                      ^ expected `!`, found `()`
[INFO] [stdout]    |    |
[INFO] [stdout]    |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected type `!`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `object::capability::selectable::Selectable`
[INFO] [stdout]   --> src/abi/linux/generic/pipe.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     object::capability::selectable::Selectable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Selectable`
[INFO] [stdout]  --> src/object/capability/selectable/syscall.rs:3:60
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::object::capability::selectable::{ReadyInterest, Selectable};
[INFO] [stdout]   |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `object::capability::StreamOps`
[INFO] [stdout]   --> src/fs/vfs_v2/drivers/ext2/tests.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     object::capability::StreamOps,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]    --> src/abi/linux/device/kvm/mod.rs:970:26
[INFO] [stdout]     |
[INFO] [stdout] 970 | fn clean_run_page_to_poc(vaddr: usize) {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]    --> src/abi/linux/device/kvm/mod.rs:976:30
[INFO] [stdout]     |
[INFO] [stdout] 976 | fn refresh_run_page_from_poc(vaddr: usize) {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aligned_length`
[INFO] [stdout]    --> src/abi/linux/generic/mm.rs:720:5
[INFO] [stdout]     |
[INFO] [stdout] 720 |     aligned_length: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aligned_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_root_mount`
[INFO] [stdout]    --> src/fs/vfs_v2/syscall.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |     let new_root_mount = match parent_mount.get_child(&new_root_entry) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_root_mount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device/fdt.rs:157:14
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &mut *MANAGER.0.get()
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device/fdt.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub unsafe fn get_mut_manager() -> &'static mut FdtManager<'static> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ipc/counter.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut counter = Self::new(initval, semaphore);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parsed_any_irq` is never read
[INFO] [stdout]    --> src/device/manager.rs:824:21
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     parsed_any_irq = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enabled`
[INFO] [stdout]    --> src/device/network/mod.rs:417:36
[INFO] [stdout]     |
[INFO] [stdout] 417 |     fn set_promiscuous_mode(&self, enabled: bool) -> Result<(), &'static str> {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lsm/symbol.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let start = unsafe { core::ptr::addr_of!(__SCARLET_KSYMS_START) as usize };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lsm/symbol.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let end = unsafe { core::ptr::addr_of!(__SCARLET_KSYMS_END) as usize };
[INFO] [stdout]    |               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/lsm/symbol.rs:97:22
[INFO] [stdout]     |
[INFO] [stdout]  97 |     let mut offset = 0usize;
[INFO] [stdout]     |                      ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 105 |     offset = 8;
[INFO] [stdout]     |     ---------- `offset` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `talc::Talc::<O>::claim` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/mem/allocator.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ALLOCATOR.lock().claim(span).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/mem/allocator.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub unsafe fn init_heap(start: usize, size: usize) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `talc::Talc::<O>::claim` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/mem/allocator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     ALLOCATOR
[INFO] [stdout] 56 | |         .lock()
[INFO] [stdout] 57 | |         .claim(span)
[INFO] [stdout]    | |____________________^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/mem/allocator.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub unsafe fn add_heap_region(start: usize, size: usize) -> Result<(), &'static str> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/page.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         self.ptr.add(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/page.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub unsafe fn page_ptr(&self, index: usize) -> *mut Page {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:223:20
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let page = self.pages.add(page_idx);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     unsafe fn add_to_free_list(&mut self, page_idx: usize, order: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         (*page).order = order as u8;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         (*page).flags |= PAGE_FLAG_BUDDY;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `mem::pmm::ListHead::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |                               ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `mem::pmm::ListHead::remove` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     unsafe fn del_from_free_list(&mut self, page: *mut Page, order: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:34
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         (*page).flags &= !PAGE_FLAG_BUDDY;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         (*page).order == order as u8 && ((*page).flags & PAGE_FLAG_BUDDY) != 0
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     unsafe fn page_is_buddy(&self, page: *const Page, order: usize) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:260:42
[INFO] [stdout]     |
[INFO] [stdout] 260 |         (*page).order == order as u8 && ((*page).flags & PAGE_FLAG_BUDDY) != 0
[INFO] [stdout]     |                                          ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_count`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:397:13
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let read_count = requests
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write_count`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let write_count = requests
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_ptr`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:481:17
[INFO] [stdout]     |
[INFO] [stdout] 481 |             let status_ptr = status_alloc.as_ptr() as *mut u8;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/drivers/block/virtio_blk.rs:597:17
[INFO] [stdout]     |
[INFO] [stdout] 597 |             let status = self.read32_register(crate::drivers::virtio::device::Register::Status);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_ptr`
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:340:17
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let buffer_ptr = buffer_alloc.as_ptr() as *mut u8;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `inbound` is assigned to, but never used
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:624:21
[INFO] [stdout]     |
[INFO] [stdout] 624 |                 let mut inbound = 0usize;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_inbound` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:625:22
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 for (i, packet) in packets.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `inbound` is never read
[INFO] [stdout]    --> src/drivers/network/virtio_net.rs:631:29
[INFO] [stdout]     |
[INFO] [stdout] 631 | ...                   inbound += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/cpiofs.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         option: Option<&str>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_ip`
[INFO] [stdout]     --> src/network/tcp.rs:1425:13
[INFO] [stdout]      |
[INFO] [stdout] 1425 |         let local_ip = self
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old`
[INFO] [stdout]     --> src/network/tcp.rs:1854:25
[INFO] [stdout]      |
[INFO] [stdout] 1854 |             if let Some(old) = unacked.pop_front() {
[INFO] [stdout]      |                         ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/object/capability/memory_mapping/anon_owner.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 unsafe {
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/object/capability/memory_mapping/anon_owner.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 unsafe {
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_pages`
[INFO] [stdout]    --> src/object/capability/memory_mapping/syscall.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     num_pages: usize,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_paddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:53
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:68
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn on_unmapped(&self, vaddr: usize, length: usize) {}
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:70:41
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn on_unmapped(&self, vaddr: usize, length: usize) {}
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `inode` is never read
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/ext2/char_device_tests.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         inode.block[0] = ((1u32 << 8) | 0u32).to_le();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inode_cache`
[INFO] [stdout]     --> src/fs/vfs_v2/drivers/ext2/mod.rs:4565:13
[INFO] [stdout]      |
[INFO] [stdout] 4565 |         let inode_cache = self.inode_cache.lock();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inode_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_cache`
[INFO] [stdout]     --> src/fs/vfs_v2/drivers/ext2/mod.rs:4566:13
[INFO] [stdout]      |
[INFO] [stdout] 4566 |         let block_cache = self.block_cache.lock();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/fat32/driver.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut mock_device = MockBlockDevice::new("mock_fat32", 512, 65536);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `scarlet` (lib) due to 66 previous errors; 72 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `cluster_size`
[INFO] [stdout]    --> src/fs/vfs_v2/drivers/fat32/mod.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let cluster_size = (self.sectors_per_cluster * self.bytes_per_sector) as usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_root_mount`
[INFO] [stdout]    --> src/fs/vfs_v2/syscall.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |     let new_root_mount = match parent_mount.get_child(&new_root_entry) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_root_mount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/fs/vfs_v2/tests/advanced_tests.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let result = vfs.remove("/fs1/dir_a");
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/fs/vfs_v2/tests/advanced_tests.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let result = vfs.bind_mount("/fs1/dir_a", "/fs1/dir_a/subdir");
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmpfs`
[INFO] [stdout]    --> src/fs/vfs_v2/tests/performance_tests.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let tmpfs = Arc::new(TmpFS::new(1024 * 1024));
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_tmpfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ipc/counter.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut counter = Self::new(initval, semaphore);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lsm/symbol.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let start = unsafe { core::ptr::addr_of!(__SCARLET_KSYMS_START) as usize };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lsm/symbol.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let end = unsafe { core::ptr::addr_of!(__SCARLET_KSYMS_END) as usize };
[INFO] [stdout]    |               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/lsm/symbol.rs:97:22
[INFO] [stdout]     |
[INFO] [stdout]  97 |     let mut offset = 0usize;
[INFO] [stdout]     |                      ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 105 |     offset = 8;
[INFO] [stdout]     |     ---------- `offset` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `talc::Talc::<O>::claim` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/mem/allocator.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ALLOCATOR.lock().claim(span).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/mem/allocator.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub unsafe fn init_heap(start: usize, size: usize) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `talc::Talc::<O>::claim` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/mem/allocator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     ALLOCATOR
[INFO] [stdout] 56 | |         .lock()
[INFO] [stdout] 57 | |         .claim(span)
[INFO] [stdout]    | |____________________^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/mem/allocator.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub unsafe fn add_heap_region(start: usize, size: usize) -> Result<(), &'static str> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/page.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         self.ptr.add(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/page.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub unsafe fn page_ptr(&self, index: usize) -> *mut Page {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:223:20
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let page = self.pages.add(page_idx);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     unsafe fn add_to_free_list(&mut self, page_idx: usize, order: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         (*page).order = order as u8;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         (*page).flags |= PAGE_FLAG_BUDDY;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `mem::pmm::ListHead::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         (*free_list).add(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |                               ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `mem::pmm::ListHead::remove` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     unsafe fn del_from_free_list(&mut self, page: *mut Page, order: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |         ^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:234:34
[INFO] [stdout]     |
[INFO] [stdout] 234 |         (*free_list).remove(&mut (*page).lru as *mut ListHead);
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         (*page).flags &= !PAGE_FLAG_BUDDY;
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         (*page).order == order as u8 && ((*page).flags & PAGE_FLAG_BUDDY) != 0
[INFO] [stdout]     |         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/mem/pmm.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     unsafe fn page_is_buddy(&self, page: *const Page, order: usize) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/mem/pmm.rs:260:42
[INFO] [stdout]     |
[INFO] [stdout] 260 |         (*page).order == order as u8 && ((*page).flags & PAGE_FLAG_BUDDY) != 0
[INFO] [stdout]     |                                          ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_ip`
[INFO] [stdout]    --> src/network/arp.rs:789:13
[INFO] [stdout]     |
[INFO] [stdout] 789 |         let target_ip = [192, 168, 1, 2];
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eth_layer`
[INFO] [stdout]    --> src/network/ethernet.rs:587:13
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let eth_layer = EthernetLayer::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eth_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/ipv4.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 715 |         let mut bytes = vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/ipv4.rs:741:13
[INFO] [stdout]     |
[INFO] [stdout] 741 |         let mut bytes = alloc::vec![0x55u8; 20]; // Invalid version (5)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_ip`
[INFO] [stdout]     --> src/network/tcp.rs:1425:13
[INFO] [stdout]      |
[INFO] [stdout] 1425 |         let local_ip = self
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old`
[INFO] [stdout]     --> src/network/tcp.rs:1854:25
[INFO] [stdout]      |
[INFO] [stdout] 1854 |             if let Some(old) = unacked.pop_front() {
[INFO] [stdout]      |                         ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/object/capability/memory_mapping/anon_owner.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 unsafe {
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/object/capability/memory_mapping/anon_owner.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 unsafe {
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_pages`
[INFO] [stdout]    --> src/object/capability/memory_mapping/syscall.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     num_pages: usize,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_paddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:53
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:59:68
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn on_mapped(&self, vaddr: usize, paddr: usize, length: usize, offset: usize) {}
[INFO] [stdout]    |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vaddr`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn on_unmapped(&self, vaddr: usize, length: usize) {}
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_vaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/object/capability/memory_mapping/mod.rs:70:41
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn on_unmapped(&self, vaddr: usize, length: usize) {}
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/handle_metadata.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut table = HandleTable::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/handle_metadata.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut table = HandleTable::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/handle_metadata.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let mut table = HandleTable::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/handle_metadata.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let mut table = HandleTable::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/handle_metadata.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mut table = HandleTable::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/object/handle/tests/task_integration.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut task = new_user_task("TestTask".to_string(), 1);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/object/handle/tests/task_integration.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut task = new_user_task("FDCompatTask".to_string(), 1);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut task = new_user_task("LifecycleTask".to_string(), 1);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut task = new_user_task("ErrorTask".to_string(), 1);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let mut parent_task = new_user_task("ParentTask".to_string(), 1);
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut parent_task = get_task_by_id(parent_id).unwrap();
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut task = new_user_task("MemoryTask".to_string(), 1);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let mut task = get_task_by_id(task_id).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let mut task = new_user_task("CapabilityTask".to_string(), 1);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/object/handle/tests/task_integration.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |     let mut task = get_task_by_id(task_id).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2487:13
[INFO] [stdout]      |
[INFO] [stdout] 2487 |         let mut task = super::new_user_task("Task0".to_string(), 0);
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2505:13
[INFO] [stdout]      |
[INFO] [stdout] 2505 |         let mut parent_task = super::new_user_task("ParentTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2508:13
[INFO] [stdout]      |
[INFO] [stdout] 2508 |         let mut child_task = super::new_user_task("ChildTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2548:13
[INFO] [stdout]      |
[INFO] [stdout] 2548 |         let mut init_task = super::new_user_task("InitTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2553:13
[INFO] [stdout]      |
[INFO] [stdout] 2553 |         let mut parent_task = super::new_user_task("ParentTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2557:13
[INFO] [stdout]      |
[INFO] [stdout] 2557 |         let mut child_task = super::new_user_task("ChildTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2579:13
[INFO] [stdout]      |
[INFO] [stdout] 2579 |         let mut init_task = super::new_user_task("InitTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2584:13
[INFO] [stdout]      |
[INFO] [stdout] 2584 |         let mut parent_task = super::new_user_task("ParentTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2588:13
[INFO] [stdout]      |
[INFO] [stdout] 2588 |         let mut child_task = super::new_user_task("ChildTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2619:13
[INFO] [stdout]      |
[INFO] [stdout] 2619 |         let mut task = super::new_user_task("SessionDefaults".to_string(), 0);
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2635:13
[INFO] [stdout]      |
[INFO] [stdout] 2635 |         let mut parent = super::new_user_task("SessionParent".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2655:13
[INFO] [stdout]      |
[INFO] [stdout] 2655 |         let mut parent = super::new_user_task("ThreadGroupParent".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2672:13
[INFO] [stdout]      |
[INFO] [stdout] 2672 |         let mut parent = super::new_user_task("ThreadGroupParent".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2691:13
[INFO] [stdout]      |
[INFO] [stdout] 2691 |         let mut parent = super::new_user_task("WaitParent".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2695:13
[INFO] [stdout]      |
[INFO] [stdout] 2695 |         let mut leader = super::new_user_task("ProcessLeader".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2727:13
[INFO] [stdout]      |
[INFO] [stdout] 2727 |         let mut task = super::new_user_task("SetsidTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2744:13
[INFO] [stdout]      |
[INFO] [stdout] 2744 |         let mut task = super::new_user_task("StopReportTask".to_string(), 0);
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:2759:13
[INFO] [stdout]      |
[INFO] [stdout] 2759 |         let mut task = super::new_user_task("TaskWithExitStatus".to_string(), 0);
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3156:13
[INFO] [stdout]      |
[INFO] [stdout] 3156 |         let mut parent_task = super::new_user_task("ParentWithShared".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3270:13
[INFO] [stdout]      |
[INFO] [stdout] 3270 |         let mut parent = super::new_user_task("ParentCloneVm".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3330:13
[INFO] [stdout]      |
[INFO] [stdout] 3330 |         let mut parent = super::new_user_task("Parent".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3366:13
[INFO] [stdout]      |
[INFO] [stdout] 3366 |         let mut task1 = super::Task::new_with_namespace(
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3372:13
[INFO] [stdout]      |
[INFO] [stdout] 3372 |         let mut task2 = super::Task::new_with_namespace(
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3378:13
[INFO] [stdout]      |
[INFO] [stdout] 3378 |         let mut task3 = super::Task::new_with_namespace(
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3438:13
[INFO] [stdout]      |
[INFO] [stdout] 3438 |         let mut task1 = super::new_user_task("Task1".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3439:13
[INFO] [stdout]      |
[INFO] [stdout] 3439 |         let mut task2 = super::new_user_task("Task2".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/task/mod.rs:3440:13
[INFO] [stdout]      |
[INFO] [stdout] 3440 |         let mut task3 = super::new_user_task("Task3".to_string(), 0);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0308, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `scarlet` (lib test) due to 68 previous errors; 133 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4", kill_on_drop: false }`
[INFO] [stdout] 90fa22fa911c872592d83c13dbed05b9028b0f012a6f5a2ef74d7d1d86b3c3e4
